<?php
//   +----------------------------------------------------------------------
//   | Copyright (c) 2015-2025 http://www.hdphp.cn All rights reserved.
//   | Licensed ( http://www.hdphp.cn/licenses/ )
//   | Author: Jack <sophia2152@qq.com>
//   | 官方网址: http://www.hdphp.cn
//   | 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
//   | 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
//   +----------------------------------------------------------------------
namespace hdphp\services\wechat;

use hdphp\services\wechat;

/**
 * Class：Factory
 * 创建人：Jack
 * 创建时间：2023/12/11 15:51
 * @package hdphp\services\wechat
 * @method static wechat\MiniPayment\Application MiniPayment(array $config)
 */
class Factory
{
    /**
     * 注释：make
     * 创建人：Jack
     * 创建时间：2023/12/11 15:51
     * @param       $name
     * @param array $config
     * @return mixed
     */
    public static function make($name, array $config)
    {
        $namespace = \EasyWeChat\Kernel\Support\Str::studly($name);
        $application = "hdphp\\services\\wechat\\{$namespace}\\Application";

        return new $application($config);
    }

    /**
     * 注释：Dynamically pass methods to the application.
     * 创建人：Jack
     * 创建时间：2023/12/11 15:52
     * @param $name
     * @param $arguments
     * @return mixed
     */
    public static function __callStatic($name, $arguments)
    {
        return self::make($name, ...$arguments);
    }
}
